package com.monitor.pubInter;


import com.monitor.pubInter.baseVO.DecoratePageList;
import com.monitor.pubInter.exception.SkException;

import java.util.List;
import java.util.Map;

/**
* @author sunke
* @Date 2019-09-09 16:31:10
* @description
*/

public interface IBaseFindService<T extends AbstractBaseDoMain, TS extends BaseSearch, KeyType> {

    T getDetail(KeyType id) throws SkException;

    List<T> getList(TS search) throws SkException;

    int getListCount(TS search) throws SkException;

    List<T> getAllList(TS search) throws SkException;

    Map<String, Object> paginate(TS search) throws SkException;


    DecoratePageList<T> paginateToObject(TS search) throws SkException;

    T getDetailBySearch(TS search);

    int getCountBySearch(TS search);



}
